package com.shen.volatiledemo;

import java.util.concurrent.TimeUnit;

public class Demo01 {
    private static volatile int num=0;
    public static void main(String[] args) {//main线程
        new Thread(()->{//Thread线程
            while (num==0){
                //当num!=0时停止循环
            }
        },"Thread线程").start();

        try {
            TimeUnit.SECONDS.sleep(2);//让主线程睡两秒
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        //main线程修改num
        num=1;
        System.out.println(num);

        /**
         * 输出1之后关闭
         * volatile关键字具有可见性，当num值发生修改时就会通知Thread线程更新新的值
         */

    }
}
